package app.r_teenus.backend.dao;


import java.util.List;

import app.r_teenus.backend.model.Address;
import app.r_teenus.backend.model.AddressType;
import app.r_teenus.backend.model.Contact;
import app.r_teenus.backend.model.Enterprise;


public interface EnterpriseDao extends DefaultDao {

	public List<Enterprise> findEnterprises();

	/**
	 * Find enterprise by id.
	 */
	public Enterprise findEnterpriseById(Integer id);

	/**
	 * Find all address type.
	 */
	public List<AddressType> findAllAddressType();

	/**
	 * Saves enterprise.
	 */
	public Enterprise save(Enterprise enterprise);

	public void delete(Enterprise enterprise);

	/**
	 * Saves enterprise's contact.
	 */
	public Enterprise saveContact(Enterprise enterprise, Contact contact);

	/**
	 * Saves enterprise's address.
	 */
	public Enterprise saveAddress(Enterprise enterprise, Address address);

	/**
	 * Deletes address.
	 */
	public Enterprise deleteAddress(Enterprise enterprise, Integer contact);

	/**
	 * Deletes contact.
	 */
	public Enterprise deleteContact(Enterprise enterprise, Integer address);

}
